package Logica;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Sala {
	private String nome;
	private Jogador dono;
	private Boolean status = true;
	private List<Jogador> jogadores = new ArrayList<>();
	private Partida partida;


	public void setNome(String nome) {
		this.nome = nome;
	}



	public void setJogadores(List<Jogador> jogadores) {
		this.jogadores = jogadores;
	}



	public void setPartida(Partida partida) {
		this.partida = partida;
	}

	public List<Jogador> getJogadores() {
		return jogadores;
	}
	
	public Partida getPartida() {
		return partida;
	}

	public Jogador getJogadorByName(String nome) {
		for(Jogador j : this.jogadores){
			if(j.getNome().equalsIgnoreCase(nome))
				return j;
		}
		return new Jogador();
	}
	
	public Jogador getDono() {
		return dono;
	}
	
	public void setDono(Jogador dono) {
		this.dono = dono;
	}

	public String getNome() {
		return nome;
	}
	
	public Boolean getStatus() {
		return status;
	}

	public void setStatus(Boolean status) {
		this.status = status;
	}

	public String getNomeDoDono() {
		return dono.getNome();
	}
		
	public void iniciarPartida(Jogador jog){
		if(!jog.equals(dono)){
			throw new IllegalArgumentException("Não é o dono da Sala!");
		}
		
		for(Jogador j : jogadores){
			if(j.getstatusPartida() == false){
				throw new IllegalArgumentException("Algum jogador não está pronto!");
			}
		}
		
		partida = new Partida(jogadores);
		status = false;
	}
	
	public Sala(String nome, Jogador jogador){
		this.nome = nome;
		dono = jogador;
		jogadores.add(jogador);
	}
	
	public Sala(){}

}